Computer-aided techniques are known to include Computer-Aided Design or CAD, which relates to software solutions for authoring product design. Similarly, CAE is an acronym for Computer-Aided Engineering, e.g. it relates to software solutions for simulating the physical behavior of a future product. CAM stands for Computer-Aided Manufacturing and typically includes software solutions for defining manufacturing processes and operations.
A number of systems and programs are offered on the market for the design of objects (or parts) or assemblies of objects, forming a product, such as the one provided by Dassault Systèmes under the trademark CATIA. These CAD systems allow a user to construct and manipulate complex three dimensional (3D) models of objects or assemblies of objects. CAD systems thus provide a representation of modeled objects using edges or lines, in certain cases with faces. Lines or edges may be represented in various manners, e.g. non-uniform rational B-splines (NURBS). These CAD systems manage parts or assemblies of parts as modeled objects, which are mostly specifications of geometry. Specifically, CAD files contain specifications, from which geometry is generated, which in turn allow for a representation to be generated. Geometry and representation may be stored in a single CAD file or multiple ones. CAD systems include graphic tools for representing the modeled objects to the designers; these tools are dedicated to the display of complex objects—the typical size of a file representing an object in a CAD system being in the range of one Megabyte per part, and an assembly may comprise thousands of parts. A CAD system manages models of objects, which are stored in electronic files.
In computer-aided techniques, the graphical user interface (GUI) plays an important role as regards the efficiency of the technique. Most of the operations required for manipulating and/or navigating the modeled objects may be performed by the user (e.g. the designers) on the GUI. Especially, the user may create, modify, and delete the modeled objects forming the product, and also explore the product so as to comprehend how modeled objects are interrelated, e.g. via a product structure. Traditionally, these operations are carried out through dedicated menus and icons which are located on the sides of the GUI. Recently, CAD systems such as CATIA allow calling these functions nearby the representation of the product. The designer does not need anymore to move the mouse towards menus and icons. Operations are thus available within reach of the mouse. In addition, the operations behave semantically: for a given operation selected by the designer, the CAD system may suggests to the designer, still nearby the mouse, a set of new operations according to the former selected operation that the designer is likely to select.
Also known are Product Lifecycle Management (PLM) solutions, which refer to a business strategy that helps companies to share product data, apply common processes, and leverage corporate knowledge for the development of products from conception to the end of their life, across the concept of extended enterprise. By including the actors (company departments, business partners, suppliers, Original Equipment Manufacturers (OEM), and customers), PLM may allow this network to operate as a single entity to conceptualize, design, build, and support products and processes.
Some PLM solutions make it for instance possible to design and develop products by creating digital mockups (a 3D graphical model of a product). The digital product may be first defined and simulated using an appropriate application. Then, the lean digital manufacturing processes may be defined and modeled.
The PLM solutions provided by Dassault Systemes (under the trademarks CATIA, ENOVIA and DELMIA) provides an Engineering Hub, which organizes product engineering knowledge, a Manufacturing Hub, which manages manufacturing engineering knowledge, and an Enterprise Hub which enables enterprise integrations and connections into both the Engineering and Manufacturing Hubs. All together the system delivers an open object model linking products, processes, resources to enable dynamic, knowledge-based product creation and decision support that drives optimized product definition, manufacturing preparation, production and service.
Such PLM solutions comprise a relational database of products. The database comprises a set of textual data and relations between the data. Data typically include technical data related to the products said data being ordered in a hierarchy of data and are indexed to be searchable. The data are representative of the modeled objects, which are often modeled products and processes.
Product lifecycle information, including product configuration, process knowledge and resources information are typically intended to be edited in a collaborative way.
In particular, the design of parts has involved many mathematical developments. For example, the use geodesic curves and parallel geodesic curves has been already implemented by prior art to design surface parts, i.e. parts presenting a surface, or surfaces of such parts. In the following, some definitions and developments known from prior art are provided before presenting issues related to the computation of a parallel geodesic curve.
Given a smooth surface, S(u,v), (u,v)ε[a,b]×[c,d], given two points P0=(u0,v0) and P1=S(u1,v1) on this surface, a curve on surface S joining these two points may be defined by a p-curve t(u(t),v(t)) from an interval [t0,t1] to [a,b]×[c,d] such that (u(t0),v(t0))=(u0,v0) and (u(t1), v(t1))=(u1,v1). The 3D curve on surface S associated to the p-curve is the curve from interval [t0,t1] to the 3D space R3 defined by C(t)=S(u(t),v(t)). By definition, the geodesic distance between points P0 and P1 is the length of the shortest curve on surface S joining the two points. By definition, the geodesic curve joining points P0 and P1 is this shortest curve C. By construction, C(t0)=P0 and C(t1)=P1. The length of curve C is defined by the following integral:
      ∫          t      0              t      1        ⁢                                    C          ′                ⁡                  (          t          )                            ⁢          ⅆ      t      where C′(t) is the tangent vector of curve C and ∥ ∥ denotes the Euclidian norm of vectors. The tangent vector C′(t), and thereby the length of curve C, are closely related to the surface through its partial derivatives, as computed below.
            C      ′        ⁡          (      t      )        =                    ⅆ                  ⅆ          t                    ⁢              S        ⁡                  (                                    u              ⁡                              (                t                )                                      ,                          v              ⁡                              (                t                )                                              )                      =                                        S            u                    ⁡                      (                                          u                ⁡                                  (                  t                  )                                            ,                              v                ⁡                                  (                  t                  )                                                      )                          ⁢                              u            ′                    ⁡                      (            t            )                              +                                    S            v                    ⁡                      (                                          u                ⁡                                  (                  t                  )                                            ,                              v                ⁡                                  (                  t                  )                                                      )                          ⁢                              v            ′                    ⁡                      (            t            )                              
Symbol Su is a compact notation for the partial derivative
            ∂      S              ∂      u        .It should be noted that another formulation involves the curve energy
      ∫          t      0              t      1        ⁢                                                  C            ′                    ⁡                      (            t            )                                      2        ⁢          ⅆ      t      instead of the curve length
      ∫          t      0              t      1        ⁢                                    C          ′                ⁡                  (          t          )                            ⁢                  ⅆ        t            .      It can be proven that these two formulations provide the same geodesic curve.
For example, with reference to FIG. 1, given two points P0 and P1 on a spherical surface S, the geodesic curve C joining the two points is the intersection of the said spherical surface and the plane through the two points and the center of the sphere, yielding an arc of circle joining the two points.
This definition is the start point of differential geometry. The “minimum length” or “minimum energy” definition of geodesic curves leads, thanks to the “calculus of variations” theory, to a second order differential equation that characterizes the geodesic curve. Let us rewrite the minimized criteria:
      ∫          t      0              t      1        ⁢            E      ⁡              (                              u            ⁡                          (              t              )                                ,                      v            ⁡                          (              t              )                                ,                                    u              ′                        ⁡                          (              t              )                                ,                                    v              ′                        ⁡                          (              t              )                                      )              ⁢          ⅆ      t      where E(u,v,u′,v′)=∥Su(u,v)u′+Sv(u,v)v′∥2 and u,v are the unknown functions. Then, the calculus of variations states that the solution of the minimization problem is also the solution of the following Euler-Lagrange differential equation:
                              ∂          E                          ∂          u                    -                        ⅆ                      ⅆ            t                          ⁢                              ∂            E                                ∂                          u              ′                                            =    0                                ∂          E                          ∂          v                    -                        ⅆ                      ⅆ            t                          ⁢                              ∂            E                                ∂                          v              ′                                            =    0  
A straightforward computation states that the differential equation of the geodesic curve has the following shape:
u″=p(u,v,u′,v′)
v″=q(u,v,u′,v′)
where right hand terms p(u,v,u′,v′) and q(u,v,u′,v′) involve the first and second partial derivatives of surface S. Explicit formulas for p(u,v,u′,v′) and q(u,v,u′,v′) are classical results of prior art that are not needed for the understanding of the present explanations. This differential equation allows defining a geodesic curve by a point and a direction by setting (u(t0),v(t0))=(u0,v0) and (u′(t0),v′(t0))=(u′0,v′0) rather than two end points. For a more comprehensive review, a classical reference in this field is the textbook written by M. F. do Carmo and entitled “Differential geometry of curves and surfaces”, Prentice Hall.
The bottom line is that the creation of a geodesic curve in a CAD system requires numerical integration of a differential equation. The coefficients of this differential equation involve the first and second partial derivatives of the surface on which the geodesic curve is computed.
Computing a parallel geodesic curve is even more complicated. Given a base curve B(t)=S(u(t),v(t)) on the surface (a user defined curve, not necessarily a geodesic curve), and given a distance value d, the parallel geodesic curve of the base curve is the set of points on the surface lying at distance d from the basic curve, in the geodesic distance meaning. In other words, a parallel geodesic curve is a curve of the surface parallel to the base curve in the geodesic distance meaning. A known algorithm to compute a parallel geodesic curve is provided in the following with reference to FIGS. 2-4:                Evaluate n base points B(ti) on the base curve C0 noted Bi (this step is represented on FIG. 2);        For each base point Bi, compute the direction Di that is perpendicular to the tangent of the base curve B′(ti) (two directions Di, the ones corresponding to point B1 and B2, are represented with arrows on FIG. 3);        Compute the geodesic curve of length d, starting at point Bi in the direction Di. This curve SPCi is called the geodesic perpendicular curve at point Bi. Let us note Pi the end point of this geodesic perpendicular curve (the geodesic perpendicular curves SPCi are represented on FIG. 3 as the curves linking a point Bi of the base curve to a respective point Pi);        All points Pi belong to the parallel geodesic curve. As represented on FIG. 4, a smooth curve C1 as the parallel geodesic curve is created through these points in order to provide the designer with a geometrical result.        
CATIA V5 system implements the previous algorithm in the “Create Parallel Curve” function of “Generative Shape Design” product. The designer selects an input surface, an input curve on said input surface, sets the offset distance value and selects the “geodesic” option (as opposed to the “euclidean” option in the dialog box). Then, CATIA system generates the geodesic parallel curve of the input curve on the input surface.
FiberSIM® software product of Vistagy Inc. is a very popular specialized CAD tool to design composites. This software similarly computes parallel geodesic curves. It is based on CAA (CATIA Application Architecture) platform of Dassault Systems. No patent or publication related to this product or this company seems to be published so far.
The prior art cited above provides a way to compute a single parallel geodesic curve to design a part.
The papers “Fast geodesic computation with the phase flow method” and “The phase flow method” by L. Ying and E. J. Candes from the California Institute of Technology in Pasadena provide a way to massively compute a network of geodesic curves. The algorithm is to evaluate the vector field of the differential equation on a grid of points and to interpolate off-grid vector field values by interpolating neighboring values. For vocabulary purpose, the “vector field” is the right hand side of the differential equation. However, these papers do not mention the design of parts. The algorithm they disclose computes a network of geodesic curves starting from a given point. It is also noted that the algorithm only provides approximate values when the vector field is evaluated on points that do not belong to the grid.
US patent application “process and computer system for generating a multidimensional offset surface” Ser. No. 10/441,287, by H. Kellermann et al. from CoCreate Software GmbH company, teaches a solution to compute an offset curve from a base curve. According to the authors, the resulting offset curve does not feature any self intersection when the base curve features small oscillations; “small” meaning that the local curvature radius is lower than the offset distance. The principle is to approximate the base curve by a smooth and flattened curve, thus eliminating tiny oscillations from the base curve, as mentioned at paragraph [0013] of the patent application as published. In order to determine the approximation normal, an approximation curve is generated the position and course of which are approximate to the position and course of the starting curve. Advantageously, this approximation is obtained by smoothing the starting curve. The final offset curve is computed from this (approximated, smooth and flattened) base curve through a straightforward process, yielding a non singular offset curve. However, the offset curve in this patent application is not a geodesic parallel curve.
There is a need for improving the design of parts, notably the design of surface part by offering a new design option to the designer.